package cn.iocoder.yudao.module.ai.controller.admin.operationscene.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 运营中心-场景监控新增/修改 Request VO")
@Data
public class OperationSceneSaveReqVO {

    @Schema(description = "自增编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8204")
    private Long id;

    @Schema(description = "原始消息编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7179")
    @NotNull(message = "原始消息编号不能为空")
    private Long fromMessageId;

    @Schema(description = "在原始消息的消息索引号，从0开始")
    private Integer fromMessageIndex;

    @Schema(description = "原始消息编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27028")
    @NotEmpty(message = "原始消息编号不能为空")
    private String companyId;

    @Schema(description = "场景id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29448")
    @NotEmpty(message = "场景id不能为空")
    private String sceneId;

    @Schema(description = "感知设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "感知设备名称不能为空")
    private String equName;

    @Schema(description = "感知接入对象", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotEmpty(message = "感知接入对象不能为空")
    private String equType;

    @Schema(description = "视频类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "视频类型不能为空")
    private String videoType;

    @Schema(description = "视频地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "视频地址不能为空")
    private String videoPath;

    @Schema(description = "视频服务器", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "视频服务器不能为空")
    private String serverPath;

    @Schema(description = "延迟", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "延迟不能为空")
    private String latency;

    @Schema(description = "丢包率", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "丢包率不能为空")
    private String packetLossRate;

    @Schema(description = "延迟", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @NotEmpty(message = "延迟不能为空")
    private String modelName;

    @Schema(description = "延迟", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @NotEmpty(message = "延迟不能为空")
    private String gpuName;

    @Schema(description = "任务起始时间 yyyy-MM-dd ", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "任务起始时间 yyyy-MM-dd 不能为空")
    private String taskStartTime;

    @Schema(description = "任务结束时间 yyyy-MM-dd", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "任务结束时间 yyyy-MM-dd不能为空")
    private String taskEndTime;

    @Schema(description = "执行开始时间 hh:mm:ss", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "执行开始时间 hh:mm:ss不能为空")
    private String executionStartTime;

    @Schema(description = "执行结束时间 hh:mm:ss", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "执行结束时间 hh:mm:ss不能为空")
    private String executionEndTime;

    @Schema(description = "供应商id", example = "22752")
    private Long suplierId;

    /**
     * 行业编号
     */
    @Schema(description = "行业编号", example = "27028")
    private String industryAffiliation ;
    /**
     * 场景分类
     */
    @Schema(description = "场景分类", example = "27028")
    private String sceneClassification ;

}